package cn.itcast.nems.product.dao.dataobject;

import lombok.Data;

import java.time.LocalDate;

@Data
public class ProductDO {

    /**
     * 主键
     */
    private Long id;

    /**
     * 业务关联编号：由业务决定，是业务系统实体关联字段。主租户内必须唯一！
     */
    private String bizNo;
    private String title ;

    /**
     * 冗余数据库中原 biz_no 内容
     */
    private String code;

    /**
     * 产品名称
     */
    private String name;

    /**
     * 划线价/原价。单位：分
     */
    private Integer listPrice;

    /**
     * 状态：未上架|PENDING、已上架|VALID、已下架|INVALID
     */
    private String state;

    /**
     * 校区ID：冗余字段，只有短训使用。
     */
    private String campusId;

    /**
     * 授课模式ID：冗余字段，只有短训使用。
     */
    private String modelId;

    /**
     * 学科ID：冗余字段，只有短训使用。
     */
    private String subjectId;

    /**
     * 班级类型名ID：冗余字段，只有短训使用。
     */
    private String classTypeId;
    /**
     * 库存数量：当前实物库存数，或面授课程坐席。无库存限制时值为-9。
     */
    private Integer quantity;

    /**
     * 生效日期，可作为班级的开班日期
     */
    private LocalDate effectiveDatetime;

    /**
     * 过期日期，可作为班级的结课日期
     */
    private LocalDate expireDatetime;

    private BizNo bizNoObject;

    public BizNo getBizNoObject() {
        if (bizNoObject == null) {
            bizNoObject = new BizNo(this.bizNo);
        }
        return bizNoObject;
    }
}
